import request from '@/utils/request'

export function fetchList(query) {
  return request({
    url: '/vue-element-admin/article/list',
    method: 'get',
    params: query
  })
}

export function fetchArticle(id) {
  return request({
    url: '/vue-element-admin/article/detail',
    method: 'get',
    params: { id }
  })
}

export function fetchPv(pv) {
  return request({
    url: '/vue-element-admin/article/pv',
    method: 'get',
    params: { pv }
  })
}

export function createArticle(data) {
  return request({
    url: '/vue-element-admin/article/create',
    method: 'post',
    data
  })
}

export function updateArticle(data) {
  return request({
    url: '/vue-element-admin/article/update',
    method: 'post',
    data
  })
}

// 项目模板列表分页
export function projectTemplatefindPage(data) {
  return request({
    url: '/projectManage/projectTemplate/findPage',
    method: 'post',
    data
  })
}

// 项目模板列表不分页
export function projectlistsTemplate(data) {
  return request({
    url: '/projectManage/projectTemplate/list',
    method: 'post',
    data
  })
}

// 查询所有代码模板分组不分页
export function codeGrouplist(data) {
  return request({
    url: '/template/codeGroup/list',
    method: 'post',
    data
  })
}

// 不分页查询项目骨架下拉框接口
export function projectlist(data) {
  return request({
    url: '/template/project/list',
    method: 'post',
    data
  })
}

// 模板列表新增保存接口
export function projectTemplatesave(data) {
  return request({
    url: '/projectManage/projectTemplate/save',
    method: 'post',
    data
  })
}

// 模板列表编辑保存接口
export function projectTemplateupdate(data) {
  return request({
    url: '/projectManage/projectTemplate/update',
    method: 'post',
    data
  })
}

// 模板列表删除接口
export function projectTemplatedelete(id) {
  return request({
    url: `/projectManage/projectTemplate/delete/${id}`,
    method: 'post'
  })
}

// 项目列表分页
export function projectfindPage(data) {
  return request({
    url: '/projectManage/project/findPage',
    method: 'post',
    data
  })
}

// 项目列表生成接口
export function projectgenerate(id) {
  return request({
    url: `/projectManage/project/generate/${id}`,
    method: 'post'
  })
}

// 项目列表新增保存接口
export function projectsave(data) {
  return request({
    url: `/projectManage/project/save`,
    method: 'post',
    data
  })
}

// 项目列表编辑保存接口
export function projectupdate(data) {
  return request({
    url: `/projectManage/project/update`,
    method: 'post',
    data
  })
}

// 项目列表点击配置弹出框列表接口
export function projectConfigfindPage(projectld) {
  return request({
    url: `/projectManage/projectConfig/list/${projectld}`,
    method: 'post'
  })
}

// 项目列表点击配置弹出框列表点击编辑接口
export function projectManageProjectConfigInfo(projectld) {
  return request({
    url: `/projectManage/projectConfig/info/${projectld}`,
    method: 'post'
  })
}

// 项目列表点击配置弹出框列表点击编辑跳转页面保存接口
export function projectConfigupdate(data) {
  return request({
    url: `/projectManage/projectConfig/update`,
    method: 'post',
    data
  })
}

// 分页查询项目骨架接口
export function findPageprojecttemplate(data) {
  return request({
    url: `/template/project/findPage`,
    method: 'post',
    data
  })
}

// 保存项目骨架接口
export function projectSSave(data) {
  return request({
    url: `/template/project/save`,
    method: 'post',
    data
  })
}

// 更新项目骨架接口
export function projectsupdate(data) {
  return request({
    url: `/template/project/update`,
    method: 'post',
    data
  })
}

// 删除项目骨架接口
export function projectDelete(id) {
  return request({
    url: `/template/project/delete/${id}`,
    method: 'post'
  })
}

// 项目骨架上传接口
export function projectupload(data) {
  return request({
    url: `/projectManage/project/upload`,
    method: 'post',
    data
  })
}




// 分页查询数据库配置列表接口
export function datasourcefindPage(data) {
  return request({
    url: `/datasource/config/findPage`,
    method: 'post',
    data
  })
}
// 分页查询数据库配置列表不分页接口
export function datasourcelistfindPage(data) {
  return request({
    url: `/datasource/config/list`,
    method: 'post',
    data
  })
}

// 分页查询数据库配置列表接口
export function datasourceLists(data) {
  return request({
    url: `/datasource/config/list`,
    method: 'post',
    data
  })
}

// 保存数据库配置接口
export function datasourconfigcesave(data) {
  return request({
    url: `/datasource/config/save`,
    method: 'post',
    data
  })
}

// 修改数据库配置接口
export function datasourceconfigupdate(data) {
  return request({
    url: `/datasource/config/update`,
    method: 'post',
    data
  })
}

// 删除数据库配置接口
export function datasourceconfigdelete(id) {
  return request({
    url: `/datasource/config/delete/${id}`,
    method: 'post',
  })
}

// 查询当前连接下的所有数据库接口
export function datasourceconfigdbList(data) {
  return request({
    url: `/datasource/config/dbList`,
    method: 'post',
    data
  })
}

// 测试数据库连接接口
export function datasourceconfigtest(data) {
  return request({
    url: `/datasource/config/test`,
    method: 'post',
    data
  })
}

// 数据库类型列表接口
export function datasourcedbtype(data) {
  return request({
    url: `/datasource/config/dbtype`,
    method: 'post',
    data
  })
}

// 创建数据库接口
export function datasourcecreateDb(data) {
  return request({
    url: `/datasource/config/createDb`,
    method: 'post',
    data
  })
}


// 分页查询数据库表管理接口
export function tableconfigfindPage(data) {
  return request({
    url: `/table/config/findPage`,
    method: 'post',
    data
  })
}

// 保存数据库表管理接口
export function tablesave(data) {
  return request({
    url: `/table/config/save`,
    method: 'post',
    data
  })
}

// 修改数据库表管理接口
export function tableconfigupdate(data) {
  return request({
    url: `/table/config/update`,
    method: 'post',
    data
  })
}

// 删除数据库表管理接口
export function tableconfigdelete(id) {
  return request({
    url: `/table/config/delete/${id}`,
    method: 'post',
  })
}

// 同步落盘数据库表到数据库接口
export function tableconfigsyncTable(data) {
  return request({
    url: `/table/config/syncTable`,
    method: 'post',
    data
  })
}

// 复制数据库表配置接口
export function tableconfigcopy(data) {
  return request({
    url: `/table/config/copy`,
    method: 'post',
    data
  })
}

// 数据库表配置详情接口
export function tableconfiginfo(id) {
  return request({
    url: `/table/config/info/${id}`,
    method: 'post',
  })
}

// 查询数据库下的所有表接口
export function datasourceconfigTable(id) {
  return request({
    url: `/datasource/config/table/${id}`,
    method: 'post',
  })
}

export function defaultClass() {
  return request({
    url: `/component/defaultClass/list`,
    method: 'post',
  })
}

// 查询数据库下的所有表接口
export function projectModellist(projectId) {
  return request({
    url: `/projectManage/projectModel/list/${projectId}`,
    method: 'post',
  })
}

// 保存项目模块接口
export function projectModelsave(data) {
  return request({
    url: `/projectManage/projectModel/save`,
    method: 'post',
    data
  })
}

// 更新项目模块接口
export function projectModelupdate(data) {
  return request({
    url: `/projectManage/projectModel/update`,
    method: 'post',
    data
  })
}

// 更新项目模块接口
export function projectgeneratecode(data) {
  return request({
    url: `/generate/code`,
    method: 'post',
    data
  })
}

// 微服务集群列表接口
export function jlcpCloudProject(name) {
  return request({
    url: `/component/jlcpCloudProject/cloud_list?name=${name}`,
    method: 'post',
  })
}

// 微服务集群新增接口
export function projectJlcpSave(data) {
  return request({
    url: `/component/jlcpCloudProject/save`,
    method: 'post',
    data
  })
}
// 微服务集群编辑接口
export function projectJlcpUpdate(data) {
  return request({
    url: `/component/jlcpCloudProject/update`,
    method: 'post',
    data
  })
}
// 微服务集群删除接口
export function projectJlcpDelete(data) {
  return request({
    url: `/component/jlcpCloudProject/delete`,
    method: 'post',
    data
  })
}

// 微服务集群包含项目中查看详情接口
export function projectManageinfo(id) {
  return request({
    url: `/projectManage/project/info/${id}`,
    method: 'get',
  })
}

// 微服务集群包含项目中设置服务名接口
export function updateApplicationName(projectId,name) {
  return request({
    url: `/component/jlcpCloudProject/update_application_name?projectId=${projectId}&name=${name}`,
    method: 'post',
  })
}

// 微服务集群包含项目中查看详情中的服务名接口
export function getConfigValue(projectId) {
  return request({
    url: `/component/jlcpCodeConfig/get_config_value?projectId=${projectId}&configName=spring.application.name`,
    method: 'post',
  })
}

// 导入项目接口
export function importProjectSave(data) {
  return request({
    url: `/import_project/save`,
    method: 'post',
    data
  })
}

// 单体项目列表和工程管理中的部署
export function getConfigDeploy(id) {
  return request({
    url: `/deploy/${id}`,
    method: 'post',
  })
}

// 添加模板组接口
export function codeGroupAdd(data) {
  return request({
    url: `/template/codeGroup/add`,
    method: 'post',
    data
  })
}

// 编辑模板组接口
export function codeGroupUpdate(data) {
  return request({
    url: `/template/codeGroup/update`,
    method: 'post',
    data
  })
}

// 项目封板接口
export function projectclose_project(projectId) {
  return request({
    url: `/projectManage/project/close_project?projectId=${projectId}`,
    method: 'post',
  })
}

// 打开封板封板接口
export function projectopen_project(projectId) {
  return request({
    url: `/projectManage/project/open_project?projectId=${projectId}`,
    method: 'post',
  })
}
